PLCopen Function Blocks

The following function block (FB) library is designed for the purpose of controlling one or more servo axes using the IECClosed "International Electrotechnical Commission" IEC is a not-for-profit, non-governmental international standards organization that prepares and publishes International Standards for all electrical, electronic and related technologies 61131-3 PLCopen standard (for more details on FB, refer to Function Blocks).

To offer flexibility, ease of use and reusability, the library consists of command-oriented function blocks that have a reference to the axis, e.g. the abstract data type Axis

The PLCopenClosed A vendor -and product- independent worldwide association active in Industrial Control and aiming at standardizing PLC file formats based on XML Library contains function blocks for:

  • Control: function blocks to define and initialize motion, control power, and reset errors
  • I/O: function blocks to control interaction with Digital I/O and Touch Probe and trigger registration functionality
  • Info: function blocks to provide information on motion, position, status, and the ability to read and write other drive parameters
  • PLCopen Motion: function blocks to execute different types of motion
  • Profile: function blocks for master/slave motion
  • Reference: function blocks to reset position
  • Registration: function blocks to perform registration
MC_MoveAbsolute performs a single-axis move to a specified endpoint position.
MC_MoveRelative performs a single-axis move of a specified distance relative to the actual position at the time of the start of execution.
MC_MoveAdditive commands a controlled motion of a specified relative distance. Can also be used to interrupt a motion currently being performed. In this case the MotionAdditive FB causes the speed, acceleration, and deceleration of the motion already running to be changed to the parameters specified in the MC_MoveAdditive FB. If the MC_MoveAdditive FB is activated in Continuous Mode, the specified relative distance is added to the actual position (at the time of execution).
MC_MoveSuperimposed commands a controlled motion of a specified relative distance additional to an existing motion. The existing Motion is not interrupted, but is superimposed by the additional motion.
MC_MoveVelocity commands a never-ending controlled motion (jog) at a specified velocity.
MC_Stop commands a controlled motion stop and transfers the axis to the "Stopping" state. It aborts any ongoing function block execution. When the Done output is set, the state transfers to StandStill. While the axis is in Stopping state, no other FB can perform any motion on the same axis.
MC_Power controls the power stage: enable(on) and disable (off).
MC_ReadStatus returns Axis status details with respect to the motion currently in progress.
MC_ReadAxisErr indicates Drive-related errors.
MC_ResetError makes the transition from the state ErrorStop to StandStill by resetting all internal axis-related errors and clearing pending commands – it does not affect the output of the FB instances.
MC_ReadParameter & MC_ReadBoolParameter return the value of a Drive parameter. The returned value has to be converted to Real if required. If not possible, the vendor has to provide a supplier-dependent FB for it.
MC_WriteParameter & MC_WriteBoolParameter modify the value of a Drive parameter.
MC_ReadActualPosition returns the value of the actual position.
MC_MachRegist performs Mark-to-Machine registration
MC_MarkRegist performs Mark-to-Mark registration
MC_StopRegist turns off registration
MC_CamTblSelect selects the Cam tables by setting the pointers to the relevant tables.
MC_CamIn engages the Cam.
MC_CamOut disengages the slave from the master axis immediately in a cam block.
MC_GearIn commands a ratio between the VELOCITY of the slave and master axis.
MC_GearOut disengages the slave from the master axis.
MC_AddSuperAxis

adds a superimposed axis to a specified axis.

MC_RemSuperAxis

removes a superimposed axis from an axis.

Concept Link IconSee Also